package cn.tedu.innerclass;/**
 * @Author 金帮嘉诚 @Date 2021-06-25 星期五 15:16
 */
/*本类用于测试内部类被private修饰*/

/**
 * 知识点
 * 访问私有的内部类，
 * 需要在外部类创建公共的方法，
 * 在方法中创建内部类对象，
 * 由这个对象取调用其方法或属性
 */
public class TestInner2 {
    public static void main(String[] args) {
        //内部类被private修饰 不能直接被外部使用
//        Outer2.Inner2 oi = new Outer2().new Inner2();
//        oi.eat();
//        System.out.println(oi.sum);
        //间接访问私有内部类的资源
        Outer2 outer2 = new Outer2();
        outer2.getInner2Eat();

    }
}

class Outer2 {
    String name;
    private int age;

    public void getInner2Eat() {
        //调用私有内部类
        Inner2 inner2 = new Inner2();
        inner2.eat();
    }

    public void find() {
        System.out.println("Outer2...find()");
    }

    //内部类被private修饰 不能直接被外部使用
    private class Inner2 {
        private int sum;

        public void eat() {
            System.out.println("Inner2...eat()");
        }
    }
}
